#include <stdlib.h>
#define MaxSize 10
typedef int ElemType;
typedef struct SeqQueue{
    ElemType data[MaxSize]; // 使用数组存放队列元素
    int front,rear; // 队头、队尾指针
}SeqQueue;

// 初始化队列
void initQueue(SeqQueue &S){
    //队头和队尾都指向0的位置
    S.front = S.rear = 0;
}

// 判断队列是否为空
bool isEmpty(SeqQueue S){
    if(S.front == S.rear) return true;
    return false;
}

//往队尾插入元素
bool inSeqQueue(SeqQueue &S,ElemType elem){
    // 判断队列是否已满
    if((S.rear+1)%MaxSize == S.front){
        return false; // 队列已满
    }
    // 往队尾插入元素
    S.data[S.rear] = elem;
    S.rear = (S.rear+1) % MaxSize; //队尾指针后移
    return true;
}

//队头出队，并将删除的元素保存到e中
bool outSeqQueue(SeqQueue &S,ElemType &elem){
    if(S.front == S.rear) return false; // 队列为空
    elem = S.data[S.front];
    S.front = (S.front + 1)%MaxSize; // 队头指针后移
    return true;
}

//获取队头元素
bool getSeqQueue(SeqQueue q, ElemType &e) {
    if (q.front = q.rear) return false; //队列为空
    e = q.data[q.front];
    return true;
}
int main() {
    return 0;
}
